package ExistController;

public class Trabajo {

	private String idcontratista;
	private String idalquilado;
	private String fechaEnvio;
	private String fechafin;
	private String nombreIm;
	private int x;
	private int y;
	public Resultado Res;

	/**
	 * Creamos un trabajo vacio
	 */
	public Trabajo(){}

	/**
	 * Creamos un trabajo con los parametros pasados 
	 * @param idcontratista Contiene la id del contratista del trabajo
	 * @param idalquilado Contiene la id del Usuario que procesa la imagen
	 * @param fechaEnvio Representa la fecha en que se insertó la imagen al sistema
	 * @param fechafin Representa la fecha en que se ha acabado de procesar el trabajo
	 * @param nombreIm Contiene el nombre de la imagen procesada
	 * @param x Indica la subimagen, coordenada x, que se procesa en este trabajo
	 * @param y Indica la subimagen, coordenada y, que se procesa en este trabajo
	 */
	public Trabajo(String idcontratista, String idalquilado, String fechaEnvio, String fechafin, String nombreIm, int x, int y)
	{
		this.idcontratista = idcontratista; 
		this.idalquilado = idalquilado;
		this.fechaEnvio = fechaEnvio;
		this.fechafin = fechafin;
		this.nombreIm = nombreIm;
		this.x = x;
		this.y = y;
		Res = new Resultado();
	}

	/**
	 * Devuelve la id del contratante de la imagen
	 * @return Devuelve un String con la id del contratista
	 */
	public String getIdcontratista()
	{
		return idcontratista;
	}

	/**
	 * Obtenemos la id del Usuario que procesa la imagen
	 * @return Devuelve un String con la id del Usuario que procesa la imagen, puede ser null si no se ha asignado aún
	 */
	public String getIdalquilado()
	{
		return idalquilado;
	}

	/**
	 * Obtenemos la fecha en que se envió la imagen
	 * @return Devuelve un String con la fecha de envio de la imagen al sistema
	 */
	public String getFechaEnvio()
	{
		return fechaEnvio;
	}

	/**
	 * Obtenemos la fecha en que se ha acabado de procesar la imagen, si no se ha terminado es null 
	 * @return Devuelve un String con la fecha de fin de procesado, puede ser null si no se ha terminado de procesar
	 */
	public String getFechaFin()
	{
		return fechafin;
	}

	/**
	 * Obtenemos el nombre de la imagen 
	 * @return Devuelve un String con el nombre de la imagen
	 */
	public String getNomImage()
	{
		return nombreIm;
	}

	/**
	 * Obtenemos la coordenada x que representa la subimagen
	 * @return Devuelve un entero con la coordenada x que representa la subimagen
	 */
	public int getX()
	{
		return x;
	}

	/**
	 * Obtenemos la coordenada y que representa la subimagen
	 * @return Devuelve un entero con la coordenada y que representa la subimagen
	 */
	public int getY()
	{
		return y;
	}	

	/**
	 * Modificamos la id del Contratista
	 * @param idC Contiene el id del Contratista de la imagen
	 */
	public void setIdcontratista(String idC)
	{
		idcontratista = idC;
	}

	/**
	 * Modificamos el id del Usuario que procesa la imagen
	 * @param idA Contiene el id del Usuario que procesa la imagen
	 */
	public void setIdalquilado(String idA)
	{
		idalquilado = idA;
	}

	/**
	 * Mofidicamos la fecha de envio al sistema de la imagen
	 * @param fecE Contiene la fecha de envio al sistema de la imagen 
	 */
	public void setFechaEnvio(String fecE)
	{
		fechaEnvio = fecE;
	}

	/**
	 * Modificamos la fecha en que se ha terminado de procesar la imagen
	 * @param fecF Contiene la fecha en que se ha terminado de procesar la imagen
	 */
	public void setFechaFin(String fecF)
	{
		fechafin = fecF;
	}

	/**
	 * Modifiamos el nombre de la imagen
	 * @param nomI Contiene el nombre de la imagen
	 */
	public void setNomImage(String nomI)
	{
		nombreIm = nomI;
	}

	/**
	 * Modifica la coordenada x que indica la subimagen
	 * @param x Contiene la coordenada x que indica la subimagen
	 */
	public void setX(int x)
	{
		this.x = x;
	}

	/**
	 * Modifica la coordenada y que indica la subimagen
	 * @param y Contiene la coordenada y que indica la subimagen
	 */
	public void setY(int y)
	{
		this.y= y;
	}	

	/**
	 * Imprime por pantalla los parametros del objeto Trabajo
	 */
	public void printTrabajo()
	{
		System.out.println("IdContratista: "+ this.getIdcontratista());
		System.out.println("IdAlquilado: "+ this.getIdalquilado());
		System.out.println("Fecha Envio: "+ this.getFechaEnvio());
		System.out.println("Fecha Fin: "+ this.getFechaFin());
		System.out.println("Nombre Imagen: "+ this.getNomImage());
		System.out.println("SubImagen x: "+ this.getX()+ " y:"+this.getY());
	}

}
